package com.ruoyi.pojo;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 宽带表
 * </p>
 *
 * @author author
 * @since 2024-08-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tb_broadband")
public class TbBroadband implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 宽带信息的唯一标识符
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 与客户表关联的标识符
     */

    @TableField(value = "Customer_iD")
    private Integer CustomerID;

    /**
     * 宽带服务的名称或套餐名称
     */
    @TableField(value = "Service_name")
    private String ServiceName;

    /**
     * 带宽大小，如100.00 Mbps
     */
    @TableField(value = "Bandwidth")
    private BigDecimal Bandwidth;

    /**
     * 合同开始日期
     */
    @TableField(value = "Contract_start")
    private LocalDate ContractStart;

    /**
     * 合同结束日期（可选，如果是无固定期限则可以为NULL）
     */
    @TableField(value = "Contract_end")
    private LocalDate ContractEnd;

    /**
     * 安装日期
     */
    @TableField(value = "Installation_date")
    private LocalDate InstallationDate;

    /**
     * 宽带服务状态
     */
    @TableField(value = "Status")
    private String Status;

    /**
     * 宽带账户号码
     */
    @TableField(value = "Account_number")
    private String AccountNumber;

    /**
     * 计费周期
     */
    @TableField(value = "Billing_cycle")
    private String BillingCycle;

    /**
     * 支付方式（如银行转账、支付宝、微信支付等）
     */
    @TableField(value = "Payment_method")
    private String PaymentMethod;

    /**
     * 上次账单日期（可选）
     */
    @TableField(value = "LastBill_date")
    private LocalDate LastBillDate;

    /**
     * 下次账单预计日期（可选）
     */
    @TableField(value = "NextBill_date")
    private LocalDate NextBillDate;

    /**
     * 账单到期日（可选，与NextBillDate可能相同或不同）
     */
    @TableField(value = "Due_date")
    private LocalDate DueDate;

    /**
     * 其他备注信息
     */
    @TableField(value = "Notes")
    private String Notes;


}
